#ifndef NOARVORE_H_
#define NOARVORE_H_

#include <iostream>
#include <string>
#include <vector>
#include "NoHash.h"


using namespace std;

// N� de arvore sintatica

class NoArvore
{
public:

	NoArvore();
	void SetTerminal();// chama a fun��o quand
	void SetTokem(string );//seta nome do tokem
	void InsereFilho(NoArvore *);// isnere um filho no n�
	void InsereVar(NoHash * );
	void mostra();
	vector<NoArvore*> GetFilhos();
	virtual ~NoArvore();

private:
	bool mIsTerminal;// se for terminal n�o haver� deriva��es
	string mTokem; // nome do tokem inserido na hash
	vector<NoArvore*> mFilhos; //vetor para os filhos da arvore
	NoHash *mVariaveis; // variaveis que es�o presentes na hash de indentificadores
	// apontam para a superclasse cujos filhos s�o direfernciados
};

#endif /*NOARVORE_H_*/
